package model.registro;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class RegistroPosicionFrecuencia extends Registro{
	
	private int posicion;
	private long frecuencia;
	
	public RegistroPosicionFrecuencia(){
		posicion = 0;
		frecuencia = 0;
	}
	public long getFrecuencia() {
		return frecuencia;
	}
	public void setFrecuencia(long frecuencia) {
		this.frecuencia = frecuencia;
	}
	public int getPosicion() {
		return posicion;
	}
	public void setPosicion(int posicion) {
		this.posicion = posicion;
	}
	
	public void convertirBytesARegistro(byte[] xInput) throws IOException {

		ByteArrayInputStream bytesRegistro = new ByteArrayInputStream(xInput);
		DataInputStream input = new DataInputStream(bytesRegistro);

		this.setFrecuencia(input.readLong());
		this.setPosicion(input.readInt());
	}

	public byte[] convertirRegistroABytes() throws IOException {

		ByteArrayOutputStream bytesRegistro = new ByteArrayOutputStream();
		DataOutputStream output = new DataOutputStream(bytesRegistro);

		output.writeLong(this.getFrecuencia());
		output.writeInt(this.getPosicion());
		

		return bytesRegistro.toByteArray();

	}
	
	public int getTamanioRegistro() {
		return ConversionesTiposDatos.sizeOfInt() + Long.SIZE/8;
	}
	
	public void aumentarFrecuencia(){
		this.frecuencia++;
	}
}
